package com.xinggq.pay.service.pay.channel.yse.other.refund.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

/**
 * @Description
 * @Author xinggq
 * @Date 2025/9/12
 */
@Data
public class YseRefundRespDTO {

  private static final String SUCCESS = "10000";
  /**
   * 响应参数的签名串
   */
  @JsonProperty("sign")
  private String sign;

  /**
   * 银盛在线二维码支付响应数据
   */
  @JsonProperty("ysepay_online_trade_refund_split_response")
  private YseRefundSplitResponse ysepayOnlineTradeRefundSplitResponse;


  @Data
  public static class YseRefundSplitResponse {

    /**
     * 响应代码
     */
    @JsonProperty("code")
    private String code;
    /**
     * 响应代码描述
     */
    @JsonProperty("msg")
    private String msg;
    /**
     * 本次发生的退款金额
     */
    @JsonProperty("refund_amount")
    private String refundAmount;
    /**
     * 银盛支付交易流水号
     */
    @JsonProperty("trade_no")
    private String tradeNo;

    /**
     * 户系统生成的订单号
     */
    @JsonProperty("out_trade_no")
    private String outTradeNo;

    /**
     * 退款会计日期，格式"yyyy-MM-dd" 示例值：2014-07-24
     */
    @JsonProperty("account_date")
    private String accountDate;

  }

  public boolean isSuccess() {
    return SUCCESS.equals(this.ysepayOnlineTradeRefundSplitResponse.getCode());
  }

  public String getErrorMsg(){
    return this.ysepayOnlineTradeRefundSplitResponse.getMsg();
  }


}
